/**
 * 装饰模式，和代理模式很像
 * 也是增强对象的功能的行为（不通过继承、也不改变原来的类的代码）
 *
 *
 *  二者最主要的区别是：代理模式中，代理类对被代理的对象有控制权，决定其执行或者不执行。
 *  而装饰模式中，装饰类对代理对象没有控制权，只能为其增加一层装饰，以加强被装饰对象的功能，仅此而已。
 *
 *
 *  代理模式使用到极致开发就是AOP， 这是各位采用Spring架构开发必然要使用到的技术(Spring学习之第一个AOP程序)，
 *  它就是使用了代理和反射的技术。代理模式在Java的开发中俯拾皆是， 是大家非常熟悉的模式， 应用非常广泛，
 *
 *  而装饰模式是一个比较拘谨的模式， 在实际应用中接触比较少，
 *  但是也有不少框架项目使用了装饰模式， 例如在JDK的java.io.*包中就大量使用装饰模式， 类似如下的代码：
 *  OutputStream out = new DataOutputStream（ new FileOutputStream（ "test.txt"） ）
 *
 *  这是装饰模式的一个典型应用， 使用DataOutputStream封装了一个FileOutputStream， 以方便进行输出流处理。
 */
package structure.decorator;